package com.koron.css2.contractmanage.ecBean.contrCreatBean;

import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.List;

@Data
@Component
@ApiModel(value = "签署方", description = "签署方")
public class Signatory {

    // 签约主体类型：COMPANY（外部企业），PERSONAL（个人）
    private String tenantType;

    // 签约主体名称
    private String tenantName;

    // 接收人姓名
    private String receiverName;

    // 接收人联系方式：手机号、电子邮箱号（签署方为个人时联系方式（contact）或编号（receiverNumber）至少传递一个）
    private String contact;

    // 接收人的员工编号（个人为内部员工时生效）
    private String receiverNumber;

    // 接收人邮箱
    private String email;

    // 接收人第三方用户id(用于修改接收人联系方式)
    private String thirdUserId;

    // 是否人脸识别签署，默认不需要人脸识别（仅签署方类型为个人时有效）
    private Boolean faceAuthSign;

    // 签署顺序（从1开始)；如果想按顺序签署，则分别设置签署方的serialNo为1,2,3；如果想无序签署， 则设置签署方的serialNo为1,1,1；设置签署方顺序为1,2,2时，表示第一个先签署，后两个同时签署。
    private Integer serialNo;

    // 签署动作,用印流程非预设且签署方为发起方时，  使用用户传入的签署动作，其余情况使用用印流程的配置
    private List<Action> actions;

    // 用印流程ID，接收方是内部企业时，可指定用印流程
    private String categoryId;

    // 用印流程名称，接收方是内部企业时，可指定用印流程
    private String categoryName;

    // 是否发送消息提醒，默认为true
    private Boolean remind;

    // 身份证号，用于指定个人用户认证时的身份证号
    private String cardNo;

    // 个人认证方式：NONEED(无需认证)，DEFAULT(默认配置)，FACE(人脸识别认证)，BANK(银行卡认证)
    private String authMode;

    // 签署方语言：zh_CN(中文)，en_US(英文)
    private String language;
}
